package com.example.teemor.es_demo.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 服务日志实体类
 * 用于存储后端服务产生的日志信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ServiceLog {
    
    /**
     * 时间戳
     */
    private LocalDateTime timestamp;
    
    /**
     * 服务名称
     */
    private String serviceName;
    
    /**
     * 日志级别 (DEBUG, INFO, WARN, ERROR)
     */
    private String level;
    
    /**
     * 线程ID
     */
    private String threadId;
    
    /**
     * 类名
     */
    private String className;
    
    /**
     * 方法名
     */
    private String methodName;
    
    /**
     * 日志内容
     */
    private String content;
    
    /**
     * 链路追踪ID
     */
    private String traceId;
    
    /**
     * 日志来源IP
     */
    private String sourceIp;
    
    /**
     * 异常类名
     */
    private String exceptionClass;
    
    /**
     * 异常消息
     */
    private String exceptionMessage;
    
    /**
     * 异常堆栈信息
     */
    private String stackTrace;
}